ssh的两种登陆方式介绍
(1) 口令验证登录
(2) 密钥验证登录
准备
在centos中准备一个文件夹给工程使用,准备采用密钥验证登录。因为 hexo 只支持 ssh 登录的方式。
1 | /usr/local/my-blog |
现在的主要困难是 CentOS7 新建用户与SSH登陆设置,给虚拟弄个账号,然后主机可以用 ssh 连接过去。
在主机新建用户
新建和删除用户
1 | adduser hexous //添加一个新用户,名字叫 hexous |
更进一步,这下面的我没有尝试过,但感觉很有意思。参考CentOS7 新建用户与SSH登陆设置
1 | PermitRootLogin no //阻止root用户登陆 |
在客户机新建公私钥
1 | ssh-keygen -t rsa -C "anarckk@gmail.com" |
然后,在 c:\Users\zzanar.ssh\ 路径下可以看到新建的 id_rsa 和 id_rsa.pub
再然后,像这样修改 ~.ssh 目录下的 .config 文件
1 | # vm-centos7-hexous |
这样,在客户机上就完成了新建公私钥。
将客户机加入到主机的许可之中
在 /home/hexous/.ssh/ 之中新建文件 authorized_keys,里面的内容是客户机的 id_rsa.pub 的内容,一台客户机一行。
测试
可以用命令行测试一下
1 | ssh hexous@192.168.216.129 |
我在这一步遇到命令行抛出一个问题,跟说我
1 | The authenticity of host '192.168.216.129 (192.168.216.129)' can't be established. |
直接选择 yes 就好,然后就把信息加入到 know_hosts 文件中,下次就不会再问了。
没办法通过rsync进行部署了
做到这一步,发现,windows上没办法运行 rsync ,找了个windows版本的rsync装上,还是发现部署的时候程序找的是 /home/zzanar/.ssh 这个路径的地址,不知道怎么改,感觉 hexo 的部署就是设计与 linux 环境下的。
所以,研究了下,只能另找办法,例如在 /usr/local/my-blog 下建一个 git 库,可以在 windows 里直接克隆出来。地址如下面这么写。
1 | git clone hexous@192.168.216.129:/usr/local/my-blog |
但是,无法提交啊
最后
我决定了,只有一招了,使用xftp手动拷贝public里的文件到centos里。等以后找到更好的方法再说了。
安装 hexo-deployer-rsync
npm install hexo-deployer-rsync –save
修改配置
1 | deploy: |
使用 ftp 提交文件部署到服务器
修改自2019-11-9 19:58:30
1 | # Deployment |
在服务器上安装 ftp ,然后就这么配就好,配置 ftp 的在最近一篇博客里
还是不行
使用 ftp 部署可以,但是不能用 hexo 内置的发布器。真是垃圾。
idea 编译部署功能
最后只能用这个了 Intellij IDEA同步代码至远程FTP服务器